package com.linkage.bss.crm.packagemgr.bmo;

import java.util.List;
import java.util.Map;

import com.linkage.bss.commons.dao.Page;
import com.linkage.bss.crm.packagemgr.model.Area;
import com.linkage.bss.crm.packagemgr.model.Channel;

/**
 *
 *包状态管理
 *
 * @author  Administrator
 * @version  [版本号, 2013-5-10]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface IPackageStatusBMO {

	/**
	* 活动发布
	* @param Boolean 成功
	*
	*/
	public Boolean publishPackage(Long packageID, List<Integer> areaList, List<Integer> channelList, Long staffID);

	/**
	 * 保存包与地区的关系
	 * @param packageID
	 * @param areaID [参数说明]
	 *
	 * @return void [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public void savePackage2Area(Long packageID, Integer areaID);

	/**
	 * 保存包与渠道的关系
	 * @param packageID
	 * @param channelID [参数说明]
	 *
	 * @return void [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public void savePackage2Channel(Long packageID, Integer channelID);

	public void stopUsePackage(Long packageId, Long staffID);

	public void startUsePackage(Long packageId, Long staffID);

	/**
	 *
	* getChannelByName
	* @Description: 根据地区和名称查询渠道
	*  @param map
	*  @return
	 */
	public List<Channel> getChannelByName(Map map, Page page);

	public int getChannelByNameCount(Map map);

	/**
	 * 查询包发布的渠道数
	 * @param map
	 * @return
	 */
	public List<Channel> queryPackage2Channel(Long packageId);

	/**
	 * 根据地区名称获取地区
	 * @param name
	 * @return
	 */
	public List<Area> getAreaByName(String name, Integer areaId, Page page);

	/**
	 * 根据地区名称查询符合条件的地区数量
	 * @param name
	 * @return
	 */
	public int getAreaCountByName(String name, Integer areaId);

	/**
	 * 查询包发布地区
	 * @param pakcageId
	 */
	public List<Area> queryPackage2Area(Long packageId);

}
